1. Field of the Invention
The present invention generally relates to the determining of bandwidth capacity. More specifically, the present invention relates to a system, method and storage medium embodying computer-readable code for determining segment and link bandwidth capacities in networks and other communication systems.
2. Discussion of the Related Art
The uses of local area networks (LANs) to interconnect a number of computers and other types of digital systems have become common place in businesses. The use of wide area networks (WANs) or metropolitan area networks (MANs) to interconnect network systems in a more grandiose scale has also become prevalent. Small businesses, the number of which has been estimated to be about 2.4 million in U.S. alone, routinely interconnect end hosts, in the form of computers and other types of digital systems, throughout their offices and use them to pass information back and forth and to share common printers, modems, and the like over computer networks. Large corporations and government agencies set up even larger and more complex network systems. These network systems are often referred to as private/enterprise networks, where there is control over network topology.
Diagnostic routines and methods are commonly employed in networks as the end hosts typically operate in such a manner as to perform a common task or mission on a resources allocation or distribution basis. In such an environment, the condition of the network and its ability to reliably transmit data between two end hosts is of critical importance. The data is usually transmitted from one end host to another end host via the network link or path that interconnects the two end hosts. Each of the links is made up of one or more network segments interconnected by network devices, such as routers. If a network connection in the link or the segment is slow or inoperative, one must be able to sense it as soon as possible so that the problem can be repaired or circumvented in a timely manner. Oftentimes, there are problems with one or more of the links, and in particular a segment within a link. This requires the rerouting of the data using a different path. Moreover, from time to time, it necessary to have a large amount of data traffic flowing through the network. In this case, it becomes inefficient to use a link(s) having one or more slow segments to transmit the data flow. This is because overhead increases due to the re-transmitting of lost or destroyed messages.
As a result, knowledge of network link bandwidth capacities, and especially segment bandwidth capacities, is extremely important for optimal network management, utilization and provisioning. Such knowledge has many benefits. This includes uncovering potential bottlenecks in slow paths, which allows a user to avoid such paths when necessary and to prevent congestion. In addition, high bandwidth paths can be identified, which provides value by facilitating tunneling and link balancing, among other things. There are several conventional systems targeted to network management, network analysis, network discovery, network provisioning, network bandwidth management, and/or network bandwidth provisioning. Some of these conventional systems seek to measure the network link bandwidth capacity of a network by installing software and/or hardware at the endpoints of the network. One endpoint is programmed to send traffic to the other endpoint at a high rate. If the rate received at the destination is significantly less than the rate at which the traffic was sent, the received rate is the link bandwidth capacity. However, little or no attempt has been made to measure segment bandwidth capacities.
With the advent of new technologies, private/enterprise networks are constantly being made larger and larger. There may be hundreds of links interconnecting end hosts within a network. Each link may be made up of a number of segments, creating thousands of individual segments in the network. While determining a link bandwidth capacity is important, it does not pinpoint a potential bottleneck created by a slow segment in the link or pinpoint a high bandwidth segment in the link if the link consists of many segments. Within a network, links often share segments with each other, making the determination of the segment bandwidth capacity even more important. Having knowledge of segment bandwidth capacities allows one to pinpoint potential problematic segments or high bandwidth segments. This translates into better use of the network resources because potential bottlenecks can be avoided and high bandwidth segments can be identified and used more frequently than other segments. Therefore, there is a need for a system and method for determining segment and link bandwidth capacities in networks and other communication systems.